package q1.project.core.jpa.config;

import java.util.Optional;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.domain.AuditorAware;

/**
 * JPA审计配置 自动填充创建人、更新人
 *
 * <p>注意：@EnableJpaAuditing 已在启动类 Application 中启用
 *
 * @author Q1 Team
 * @version 1.0
 */
@Configuration
public class JpaAuditingConfig {

  /** 获取当前审计人（当前登录用户ID） */
  @Bean
  public AuditorAware<String> auditorProvider() {
    return () -> {
      // TODO: 从 JWT Token 或 SecurityContext 获取当前用户ID
      // try {
      //   String userId = getCurrentUserId();
      //   if (userId != null) {
      //     return Optional.of(userId);
      //   }
      // } catch (Exception e) {
      //   // 未登录或异常情况
      // }
      return Optional.of("system");
    };
  }
}
